home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games 1996 July / Amiga Games 1996 #7.iso / archive / userbox / publicdomain / hildu.lha / HiL-Du / hilsort.doc < prev    next >
Text File  |  1996-03-27  |  1KB  |  46 lines

  1. TABLE OF CONTENTS
  2.  
  3. hil.lib/QSort
  4. hil.lib/QSort                            hil.lib/QSort
  5.  
  6.    NAME
  7.     QSort -- performs a quicksort operation.
  8.  
  9.    SYNOPSIS
  10.     success = QSort( array, items, cmpfunc );
  11.     D0         A0    D0     A1
  12.  
  13.     BOOL QSort( APTR *array, ULONG items, struct Hook *cmpfunc );
  14.  
  15.    FUNCTION
  16.     This function sorts the given array using an interactive quicksort
  17.     algorythm, no stack problems will occur.  A buffer will be allocated
  18.     to hold the stack information.    If this allocation fails, this
  19.     function will fail.  The hook will be used for comparison, and should
  20.     return something like this:   <0 e1 < e2   0 e1 == e2  >0 e1 > e2
  21.  
  22.    INPUTS
  23.     array - Array to be sorted
  24.  
  25.     items - Number of elements in array
  26.  
  27.     cmpfunc - Hook to be used for comparison.  The hook will be called
  28.         with the following arguments:    A0 struct Hook* - pointer to
  29.         the hook itself  A1 APTR - first pointer in the array for
  30.         comparison  A2 APTR - second pointer in the array for
  31.         comparison
  32.  
  33.    RESULT
  34.     success (D0) - success/failure indicator.
  35.  
  36.    EXAMPLE
  37.     Hook function for strings:
  38.      LONG __saveds __asm cmpfunc(
  39.       register __a0 struct Hook *hook,
  40.       register __a1 STRPTR e1,
  41.       register __a2 STRPTR e2)
  42.         {
  43.         return strcmp(e1, e2);
  44.         }
  45.  
  46.